/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package aqu.controlador.Contabilidad;

import aqu.controlador.Administrador.*;
import aqu.bean.generico.BeanGenerico;
import aqu.persistencia.Dao.Contabilidad.ConEstadoCabeceraManager;
import aqu.persistencia.entity.ConEstadoCabecera;
import aqu.persistencia.entity.ConEstadoCabecera;
import aqu.persistencia.utilidad.MessagesController;
import com.icesoft.faces.component.ext.RowSelectorEvent;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.event.ActionEvent;

/**
 *
 * @author Verito Ramirez
 *         Victor Jaramillo
 */
@ManagedBean(name = "estadoCabeceraController")
@ViewScoped
public class EstadoCabeceraController extends BeanGenerico {

    private ConEstadoCabecera estadoCabecera;
    private List<ConEstadoCabecera> lista;
    private ConEstadoCabeceraManager ConEstadoCabeceraManager = new ConEstadoCabeceraManager();
    private boolean panelvisible;

    public EstadoCabeceraController() {

        estadoCabecera = new ConEstadoCabecera();
        lista = ConEstadoCabeceraManager.getList();
    }

    public boolean isPanelvisible() {
        return panelvisible;
    }

    public void setPanelvisible(boolean panelvisible) {
        this.panelvisible = panelvisible;
    }

    public void llamarPanelvisible(ActionEvent event) {
        panelvisible = !panelvisible;
    }

    public List<ConEstadoCabecera> getLista() {
        lista = ConEstadoCabeceraManager.getList();
        return lista;
    }

    public void setLista(List<ConEstadoCabecera> lista) {
        this.lista = lista;
    }

    public void nuevo(ActionEvent actionEvent) {
        estadoCabecera = new ConEstadoCabecera();
    }

    public String eliminar() {
        try {
            ConEstadoCabecera estadoCabeceraTemp = (ConEstadoCabecera) (estadoCabecera);
            if (ConEstadoCabeceraManager.delete(estadoCabeceraTemp) == false) {
                llamarPanelvisible(null);

            }
        } catch (Exception e) {
            MessagesController.addInfo("Mensaje de error :", e.getMessage());
            llamarPanelvisible(null);
        }

        return "index";

    }

    public void insertar(ActionEvent actionEvent) {
        try {
            estadoCabecera.setConCodigoEstCab(MessagesController.obtenerkeyautomaticosinceros("con_estadocabecera", "CON_CODIGO_ESTCAB"));
            if (ConEstadoCabeceraManager.create(estadoCabecera) == false) {
                llamarPanelvisible(null);

            }
        } catch (Exception e) {
            MessagesController.addInfo("Mensaje de error :", e.getMessage());
            llamarPanelvisible(null);
        }

    }

    public void modificar(ActionEvent actionEvent) {
        try {
            if (ConEstadoCabeceraManager.update(estadoCabecera) == false) {
                llamarPanelvisible(null);

            }
        } catch (Exception e) {
            MessagesController.addInfo("Mensaje de error :", e.getMessage());
            llamarPanelvisible(null);
        }


    }

    public void rowSelectionListener(RowSelectorEvent event) {
        estadoCabecera = lista.get(event.getRow());

    }

    public ConEstadoCabeceraManager getConEstadoCabeceraManager() {
        return ConEstadoCabeceraManager;
    }

    public void setConEstadoCabeceraManager(ConEstadoCabeceraManager ConEstadoCabeceraManager) {
        this.ConEstadoCabeceraManager = ConEstadoCabeceraManager;
    }

    public ConEstadoCabecera getEstadoCabecera() {
        return estadoCabecera;
    }

    public void setEstadoCabecera(ConEstadoCabecera estadoCabecera) {
        this.estadoCabecera = estadoCabecera;
    }    
}